The present invention relates to an echo canceller for a PCM telephone channel, and/or an acoustic channel having PCM interfaces in tele-conferences.
In a telephone channel having a four-wire long distance PCM trunk, hybrid circuits are connected for 2wire-4wire conversion. The hybrid circuits at each end of a call interface two-wire subscriber loops to the four-wire long distance PCM trunk. The near-end echo of a far-end talker on the transmit path through the hybrid circuit is returned to the talker who perceives it as an echo.
FIG. 1 shows the basic structure of a conventional echo canceller with 64 kbit/s PCM interfaces for cancelling the echo in a PCM telephone channel. The input and output signals of the echo canceller (1) are assumed to be digitized with either 8-bit .mu.- or A-law PCM and are processed digitally. The 8-bit PCM transmit input signal Sin at a transmit input port (5) is returned as the near-end echo over the echo path including at least a PCM coder (61) and a PCM decoder (62), which corresponds to the circuit from a receive output port (3) to the transmit input port (5) through a hybrid circuit (4). The 8-bit PCM receive output signal Rout from the port (3) is decoded to an analog signal through the PCM decoder (62). The hybrid circuit (4) transmits the analog signal through a port (15) to the near-end talker. A part of the analog signal at the hybrid circuit (4) is transmitted as an echo and is encoded through the PCM coder (61) in the transmit path. The conventional echo canceller (1) synthesizes a replica of the near-end echo by an echo estimator (6) and suppresses the echo by subtracting this replica at a subtracter (7) from the linear transmit input signal, which is converted from the 8-bit PCM transmit input signal Sin through a linear code converter (631). The residual echo derived as the output of the subtracter (7) is converted to a 8-bit PCM code through a non-linear code converter (64) to be transmitted from the transmit output port (8) of the echo canceller (1) either directly or after being processed by a non-linear unit like a center clipper.
In the echo estimator (6) which comprises an adaptive digital transversal filter having a finite impulse response (FIR), the filter coefficients are adaptively updated so as to minimize the level of the residual echo either at every sample time or at every sample interval. A double talk detector (13) and a low level detector (14) are provided for detecting the double talk situation between the near- and far-end talkers and for detecting the linear receive input signal having a low level so as to stop the updating of the filter coefficients, respectively. In the double talk detector (13), the residual echo supplied by the subtracter (7) may also be used instead of the linear transmit input signal.
FIG. 2 shows the functional structure of the conventional echo canceller (1) in which the detailed configuration of the echo estimator (6) is given. The echo estimator (6) comprises an X register (9) which stores the linear receive input signal derived from a linear code converter (632), an H register (10) which stores the filter coefficients corresponding to the impulse response of the adaptive filter, a convolution circuit (11) which generates an echo estimate (the replica of the linear transmit input signal) at the convolution circuit (11) by using the signal stored in the X register (9) and the filter coefficients in the H register (10), and an adaptation control processor (12) which updates the filter coefficients stored in the H register (10) so as to minimize the level of the residual echo derived from the subtracter (7).
Typical adaptation algorithms for updating the filter coefficients by both the residual echo and the linear receive input signal are Least Mean Square (LMS) and normalized LMS. Coefficients updating by the normalized LMS algorithm is assumed hereafter. A step gain for the coefficient updating in the adaptation control processor (12), which corresponds to a convergence speed of the adaptive filter, is chosen according to the outputs of the double talk and low level detectors (13,14).
In the adaptation control processor (12), the filter coefficients are normally updated by using the residual echo Re through a port (121) and the linear receive input signal through a port (120). When a double talk situation is detected in the double talk detector (13), a control signal is output through a port (122) to the adaptation control processor (12) for inhibiting the coefficient updating during double talking (constraining the step gain to zero). When the low level detector (14) detects that the level of the linear receive input signal is low, a control signal is output through a port (123) to the adaptation control processor (12) to constrain the step gain to zero during the detected period. Accordingly, the coefficients in the H register (10) can be protected from diverging due to the double talk or channel noise in the transmit path. If the coefficients in the H register (10) diverge, a highly inaccurate echo estimate might be generated, resulting in abrupt increase of the level of the residual echo.
The X register (9) stores N samples of the linear receive input signal from the n-th sampling index to the (n-(N-1)-th sampling index in X(n), X(n-1), . . . , X(n-(N-1)). The coefficients of the transversal filter having N taps are also stored in the H register (10). The i-th coefficient is given by H(i).vertline.n at the n-th sampling index, where i varies from 0 to N-1. Through the convolution circuit (11), the filter output y(n) is given as the echo estimate at a port (74) by; ##EQU1## The residual echo Re(n) at the n-th sampling index is also given by; EQU Re(n)=SinL(n)-y(n), [2]
where SinL(n) is the linear transmit input signal derived from the linear code converter (631). It always contains the quantization noise induced by PCM codecs in the echo path. The echo estimator (6) cannot estimate the quantization noise produced by the nonlinear process in the echo path, and the residual echo Re(n) accordingly contains the quantization noise. To minimize the level of Re(n), the coefficients in the H register (10) are updated by the normalized LMS algorithm given by; ##EQU2## where i is the i-th tap position varying from 0 to N-1, .DELTA.H(i).vertline.n is the adjustment component at the n-th sampling index, and g is a constant referred to as a step gain having a value in the range 0 to 2.
In the case of an echo canceller having PCM interfaces so as to connect it with the PCM telephone channel, the quantization noise induced by the non-linear process of the PCM codecs in the echo path degrades performance of the echo cancellation, since the quantization noise in the linear transmit input signal is independent of the linear receive input signal and cannot be estimated by the echo estimator (6) which uses only the linear processing by the FIR filter. The available number of levels in the linear transmit input signal containing the quantization noise is only 256. On the other hand, the number of levels in the echo estimate is 65536 for 16-bit processing in the echo estimator (6). This also means that it is almost impossible for the residual echo to become precisely zero, and that echo cancellation performance is limited by the amount of quantization noise in the transmit input signal due at least to the PCM coder (61) and the linear code converter (631). This degradation cannot be avoided by using only the linear processes in a conventional echo canceller.
In a multi-linked PCM telephone channel, PCM codecs are inserted after the PCM decoder (62) and/or before the PCM coder (61) in the echo path. The tandem connection of the PCM codecs produces a large quantization noise relative to the number of PCM codecs. Thus, echo cancellation performance degrades gradually due to the PCM tandem connection.
In the above circumstances, no previous echo canceller was able to provide sufficiently high performance if the quantization noise existed. This invention however provides a new echo canceller which can resolve these problems.